home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / Tool Chest / Games / Game Sample Code / SpriteWorld 1.0b3 / Examples / SpaceRocks / RockSprite.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-13  |  2.2 KB  |  69 lines  |  [TEXT/KAHL]

  1. /*
  2. // RockSprite.h
  3. //
  4. // Created: 6/18/92 at 4:41:49 PM
  5. // By: Tony Myles
  6. //
  7. // Copyright © 1992 Tony Myles, All rights reserved worldwide.
  8. //
  9. */
  10.  
  11.  
  12. #ifndef __ROCKSPRITE__
  13. #define __ROCKSPRITE__
  14.  
  15. #ifndef __SPRITEWORLD__
  16. #include "SpriteWorld.h"
  17. #endif
  18.  
  19.  
  20.     // space rock constants
  21. enum
  22. {
  23.     kNumberOfRockSizes = 3,
  24.     kNumberOfLargeRockSprites = 8,
  25.     kNumberOfMediumRockSprites = kNumberOfLargeRockSprites * 2,
  26.     kNumberOfSmallRockSprites = kNumberOfMediumRockSprites * 2,
  27.     kTotalNumberOfRockSprites = kNumberOfLargeRockSprites + kNumberOfMediumRockSprites + kNumberOfSmallRockSprites,
  28.     kNumberOfLargeRockFrames = 24,
  29.     kNumberOfMediumRockFrames = 16,
  30.     kNumberOfSmallRockFrames = 12,
  31.     kTotalRockFrames = kNumberOfLargeRockFrames + kNumberOfMediumRockFrames + kNumberOfSmallRockFrames,
  32.     kFirstRockFrame = 0,
  33.     kLastLargeRockFrame = kNumberOfLargeRockFrames - 1,
  34.     kLastMediumRockFrame = kNumberOfMediumRockFrames - 1,
  35.     kLastSmallRockFrame = kNumberOfSmallRockFrames - 1,
  36.     kLargeRockFrameResID = 128,
  37.     kMediumRockFrameResID = 228,
  38.     kSmallRockFrameResID = 328,
  39.     kRockTickDelay = 60
  40. };
  41.  
  42.  
  43.     // rock sprite data structure
  44. typedef struct
  45. {
  46.     SpritePtr largeRockSpriteArray[kNumberOfLargeRockSprites];
  47.     SpritePtr mediumRockSpriteArray[kNumberOfMediumRockSprites];
  48.     SpritePtr smallRockSpriteArray[kNumberOfSmallRockSprites];
  49.     SpriteWorldPtr rockSpriteWorldP;
  50.     SpriteLayerPtr rockSpriteLayerP;
  51.     char mediumRockInd;
  52.     char smallRockInd;
  53.     Rect rockWrapRect;
  54. } RockSpriteInfoRec, *RockSpriteInfoPtr, **RockSpriteInfoHdl;
  55.  
  56.  
  57.     // function prototypes
  58. OSErr CreateRockSpriteInfo(RockSpriteInfoPtr* rockSpriteInfoP, SpriteWorldPtr spriteWorldP, SpriteLayerPtr spriteLayerP);
  59. void DisposeRockSpriteInfo(RockSpriteInfoPtr rockSpriteInfoP);
  60. OSErr CreateRockSpriteArray(RockSpriteInfoPtr rockSpriteInfoP, SpritePtr *rockSpriteArray,
  61.                                     short rockResID, short numberOfRockFrames, short numberOfRockSprites);
  62. void SetupRockSpriteInfo(RockSpriteInfoPtr rockSpriteInfoP);
  63. void LargeRockCollideProc(SpritePtr rockSpriteP, SpritePtr dstSpriteP, Rect* sectRect);
  64. void MediumRockCollideProc(SpritePtr rockSpriteP, SpritePtr dstSpriteP, Rect* sectRect);
  65. void SmallRockCollideProc(SpritePtr rockSpriteP, SpritePtr dstSpriteP, Rect* sectRect);
  66. void RemoveRockMoveProc(SpritePtr rockSpriteP, Point* spritePoint);
  67.  
  68.  
  69. #endif /* __ROCKSPRITE__ */